Robustify on missing input comments.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 30 Jul 2003 04:54:25 +0000 (04:54 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 30 Jul 2003 04:54:25 +0000 (04:54 +0000)
gpsbabel/gpsutil.c

index ed5743e5a48bd2cc8d6b4513b7e2e734eccab356..c7f349d7505fe0a8e5c1e741eb23fa9384d6e94e 100644 (file)
@@ -47,6 +47,7 @@ wr_deinit(void)
 static void
 data_read(void)
 {
+       char ibuf[100];
        char name[9], desc[30];
        double lat,lon;
        char latdir, londir;
@@ -56,9 +57,14 @@ data_read(void)
        char icon[3] = {0};
        waypoint *wpt_tmp;
 
-       while( fscanf(file_in, "%s %le%c %le%c %ld%c %30[^,] %c",
+       for(;fgets(ibuf, sizeof(ibuf), file_in);) {
+       sscanf(ibuf, "%s %le%c %le%c %ld%c %30[^,] %c",
                        name, &lat, &latdir, &lon, &londir,
-                       &alt, &alttype, desc, icon) > 0) {
+                       &alt, &alttype, desc, icon);
+               desc[0] = '\0';
+               sscanf(&ibuf[39], "%30c", desc);
+               sscanf(&ibuf[68], "%2s", icon);
+               fprintf(stderr, "Icon >%s< Desc >%s<\n", icon, desc);
                rtrim(desc);
                wpt_tmp = xcalloc(sizeof(*wpt_tmp),1);
                wpt_tmp->position.altitude.altitude_meters = alt;